package com.ctshk.rpc.season.dto;


import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * 固定套票产品 详情(最终)
 *
 * @ClassName FixedSeasonAppDetailsDTO
 * @Description: TODO
 * @Author 杨林
 * @Date 2021/3/20
 **/
@Data
@ApiModel(value = "FixedSeasonAppDetailsDTO对象", description = "固定套票详情dto")
public class FixedSeasonAppDetailsDTO extends FixedSeasonPackageProductDTO implements Serializable {

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "产品id")
    private Long productId;

    @ApiModelProperty(value = "产品编号")
    private String code;

    @ApiModelProperty(value = "产品名称")
    private String productName;

    @ApiModelProperty(value = "出发城市id")
    private Long depCityId;

    @ApiModelProperty(value = "出发城市名称")
    private String depCityName;

    @ApiModelProperty(value = "到达城市id")
    private Long arrCityId;

    @ApiModelProperty(value = "到达城市名称")
    private String arrCityName;

    @ApiModelProperty(value = "产品副标题")
    private String subtitle;

    @ApiModelProperty(value = "负责人id")
    private Long chargeUserId;

    @ApiModelProperty(value = "旅游组别")
    private String travelGroup;

    @ApiModelProperty(value = "旅游组别id")
    private String travelGroupId;

    @ApiModelProperty(value = "种类")
    private String kind;

    @ApiModelProperty(value = "行程天数")
    private Integer travelDays;

    @ApiModelProperty(value = "行程晚数")
    private Integer travelNights;

    @ApiModelProperty(value = "最小成行人数")
    private Integer minPeopleNumber;

    @ApiModelProperty(value = "产品特色(多个逗号分隔)")
    private String feature;

    @ApiModelProperty(value = "适用人群id")
    private Long applicableCrowdId;

    @ApiModelProperty(value = "适用人群名称")
    private String applicableCrowdName;

    @ApiModelProperty(value = "产品主题,多个逗号分隔")
    private String theme;

    @ApiModelProperty(value = "产品主题名称,多个逗号分隔")
    private String themeName;

    @ApiModelProperty(value = "产品介绍图")
    private String introducePicture;

    @ApiModelProperty(value = "介绍视频")
    private String introduceVideo;

    @ApiModelProperty(value = "产品介绍")
    private String introduce;

    @ApiModelProperty(value = "费用包含")
    private String includesFee;

    @ApiModelProperty(value = "预订须知")
    private String bookingInformation;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "套票打包id")
    private Long packageId;
    @ApiModelProperty(value = "套票的选择的产品 1:机票 2:船票  3:酒店 4:巴士 5:火车票 6:景点门票 7:当地玩乐 8商品 多个以逗号分隔,", required = true)
    private String packageProductFlag;
    @ApiModelProperty(value = "出发开始日期")
    private LocalDate startDate;

    @ApiModelProperty(value = "结束日期")
    private LocalDate endDate;

    @ApiModelProperty(value = "套票类型id")
    private Long seasonTypeId;

    @ApiModelProperty(value = "退改条款 1:不退不改  2：按照组合产品退改条款")
    private Integer backTerms;

    @ApiModelProperty(value = "套票类型名称")
    private String seasonTypeName;

    @ApiModelProperty(value = "行程简章文件(存储json格式)")
    private String travelBrochureFile;

    @ApiModelProperty(value = "产品价格")
    private BigDecimal productPrice;

    @ApiModelProperty(value = "负责人名称")
    private String chargeUserName;

    @ApiModelProperty(value = "产品主题集合")
    private List<String> themeList;

    @ApiModelProperty(value = "产品主题名称集合")
    private List<String> themeNameList;

    List<DepartCalendarDTO> departCalendarDTOList;

}
